The invention relates generally to the field of industrial automation and control systems, such as those used in industrial and commercial settings. More particularly, embodiments of the present invention relate to industrial controller drivers designed to interface with different types of plug-in I/O modules.
Industrial controllers are special purpose computers used for controlling factory automation and the like. Under the direction of stored programs, a processor of the industrial controller examines a series of inputs reflecting the status of a controlled process and changes outputs affecting control of the controlled process. The stored control programs can be continuously executed in a series of execution cycles, executed periodically, or executed based on events.
The inputs received by the industrial controller from the controlled process and the outputs transmitted by the industrial controller to the controlled process are normally passed through one or more input/output (I/O) modules, which serve as an electrical interface between the controller and the controlled process. The inputs and outputs are recorded in an I/O data table in memory. Input values may be asynchronously read from the controlled process by specialized circuitry. Output values are written directly to the I/O data table by the processor and then communicated to the controlled process by the specialized communications circuitry.
Some industrial controllers may provide for connection of additional I/O modules, such as plug-in I/O modules, to add input and output functionality to the controller. For example, adding an I/O module may allow the industrial controller to interface with a specific type of control equipment. Further, the plug-in I/O modules may provide different functionalities, such as added analog inputs and/or outputs, digital inputs and/or outputs, temperature control and/or monitoring, and voltage control and/or monitoring, among others. Accordingly, the plug-in I/O modules can have different hardware structures that may require custom drivers and other custom software to allow their use with the industrial controller. For example, the plug-in I/O modules may have different types and/or numbers of inputs and outputs. Providing custom drivers typically requires on-site firmware upgrades and testing. It is now recognized that this adds complexity, cost, and development time. Further, providing custom software can involve the use of extensive software libraries, which may result in slower I/O scanning during operation of the industrial controller.